package com.mcb_wxc.util;

import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j;
import sun.rmi.runtime.Log;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;

/**
 * Created by 小生
 * 2019/1/11 15:36.
 */
@Slf4j
public class ListUtil {
    /**
     * 去除在list1 在list2存在的值  （list2有的不能存在list1中）
     * list1和list2并集 - list2
     * @param list1
     * @param list2
     * @return
     */
    public static List removeUseless(List list1,List list2) {
        List<Integer> list3 = null;
        try {
            /*先得到他们的并集*/
            list1.addAll(list2);
            //去重
            list3 = removeDuplicate(list1);
            list3.removeAll(list2);
        }catch (Exception e) {
            log.info("-------分割线-------");
            log.error("去除在list1在list2存在的值异常-------"+ e.getMessage());
            log.info("-------分割线-------");
        }
        return list3;
    }
    /**
     * 利用Hashset去重
     * @param list
     * @return
     */
    public static List removeDuplicate(List list) {
        HashSet h = new HashSet(list);
        list.clear();
        list.addAll(h);
        return list;
    }
    public static void main(String[] args) {
        /*List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(2);
        list.add(3);
        List<Integer> list1 = new ArrayList<Integer>();
        list1.add(1);
        list1.add(5);
        list.addAll(list1);
        List<Integer> list2 = removeDuplicate(list);
        for(Integer i:list2) {
            System.out.print(i); //1235
        }*/
        List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(2);
        list.add(3);
        List<Integer> list1 = new ArrayList<Integer>();
        list1.add(1);
        list1.add(5);
        List<Integer> list3 = removeUseless(list,list1);
        for(Integer i:list3) {
            System.out.print(i);//23
        }
    }

}
